﻿using mozhi.smarterp.Business.Enums;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;

namespace mozhi.smarterp.Business.Purchases.Requisition
{
    public interface IPurchaseRequisitionAppService : IApplicationService
    {
        Task<PurchaseRequisitionDto> GetAsync(Guid id);

        Task<PurchaseRequisitionDto> CreateAsync(PurchaseRequisitionCreateDto input);

        Task<PurchaseRequisitionDto> UpdateAsync(PurchaseRequisitionUpdateDto input);

        Task<PagedResultDto<PurchaseRequisitionDto>> GetListAsync(PurchaseRequisitonResultRequestDto filter);

        Task DeleteAsync(Guid id);

        Task UpdateStatusAsync(Guid id, DocumentStatusType status);

        Task<bool> PushDownOrderAsync(Guid id);
    }
}
